package com.scwatch.core.fulltext;

import com.scwatch.common.orm.Limitable;
import com.scwatch.core.domain.Node;
import com.scwatch.core.service.TaskService;
import org.apache.lucene.search.Sort;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import java.util.List;

/**
 * NodeFulltextService
 * 
 */
public interface NodeFulltextService {
	public List<Node> list(Integer[] siteIds, Integer[] parentIds,
                           Integer[] excludeId,String name,
                           String description,
                           Integer fragmentSize, Limitable limitable,
                           Sort sort);

	public Page<Node> page(Integer[] siteIds, Integer[] parentIds,
                           Integer[] excludeId,String name,
                           String description, Integer fragmentSize, Pageable pageable, Sort sort);

	public void addDocument(Integer nodeId);

	public void updateDocument(Integer nodeId);

	public int addDocument(Integer siteId, Node parent, TaskService taskService,
                           Integer taskId);
}
